package edu.cuit.avatar;

/**
 * 类设计法则信息:
 *  1.单一职责
 *      一个类应该只有一个引起它变化的原因
 *      每个类只负责一项职责，避免功能过于复杂
 *  2.开闭原则
 *      类应对扩展开放,对修改关闭
 *      通过抽象类或接口实现扩展性
 *  3.里氏替换原则
 *      子类必须能够替换基类而不影响程序的正确性
 *      子类不应改变父类的行为
 *  4.接口隔离原则
 *
 *  5.依赖倒置
 *      高层模块不应依赖底层模块，都应该依赖于抽象
 *  6.迪米特法则:最少知道原则
 *      降低类之间的耦合，提高服用性
 * @author <a href="mailto:1020zhaodan@163.com">Adan</a>
 * @version 1.0
 * @date 2025/7/11 10:11
 */
public interface Interceptor {
    //public static final int VALUE = 100;
    boolean preHandler();

    /**
     * jdk8 提供的接口更新
     *  1.默认方法:用default修饰，默认方法可提供方法实现，而实现该接口的类可以不用实现默认方法;具体实现类可以更加需要选择是否重写默认方法
     *  2.静态方法:让结构具备功能
     */
    default void postHandler(){
        System.out.println("后置处理");
    }

    static void test(){
        System.out.println("具备功能的静态方法");
    }
}
